package com.xgk.boot.module.core.dal.entity.order;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.xgk.boot.framework.mybatis.core.dataobject.BaseDO;
import lombok.Data;

/**
 * <p>
 * 订单拆分记录表
 * </p>
 *
 * @author yfbao
 * @since 2025-06-14
 */
@Data
@TableName("order_split")
public class OrderSplitDO extends BaseDO {

    @TableId(value = "os_id", type = IdType.ASSIGN_ID)
    private Long osId;

    /**
     * 订单编号
     */
    @TableField(value = "order_code")
    private String orderCode;

    /**
     * 拆分参考号
     */
    @TableField(value = "reference_no_in_split")
    private String referenceNoInSplit;

    /**
     * 拆分后服务商单号
     */
    @TableField(value = "split_service_number")
    private String splitServiceNumber;

    /**
     * 拆分后物流单号
     */
    @TableField(value = "split_tracking_number")
    private String splitTrackingNumber;

    /**
     * 参考号
     */
    @TableField(value = "reference_no")
    private String referenceNo;

    /**
     * 跟踪号/物流单号
     */
    @TableField(value = "tracking_number")
    private String trackingNumber;

    /**
     * 标签地址
     */
    @TableField(value = "label_url")
    private String labelUrl;

    /**
     * 快递参数(JSON)
     */
    @TableField(value = "express_params")
    private String expressParams;

    @Override
    public String toString() {
        return "OrderSplit{" +
        ", osId = " + osId +
        ", orderCode = " + orderCode +
        ", referenceNoInSplit = " + referenceNoInSplit +
        ", splitServiceNumber = " + splitServiceNumber +
        ", splitTrackingNumber = " + splitTrackingNumber +
        ", referenceNo = " + referenceNo +
        ", trackingNumber = " + trackingNumber +
        ", labelUrl = " + labelUrl +
        ", expressParams = " + expressParams +
        "}";
    }
}
